package offer.day36;

public class No64Sum {
    /*
     * 面试题64：求1+2+3+...+n
     * 题目：求1+2+3+...+你，要求不能使用乘除法、for、while、if、
     * else、switch、case等关键字及条件判断语句（A？B:C）
     *
     * 思路：与n有关，题目有限制，首先想到使用数组解决，将数累加放到构造函数中。
     * 但是数组不用for无法完成直接初始化，所以此方法不可行
     * 因而使用&&进行截断
     * &&：在第一个条件不成立时，不在进行第二个条件的判断
     *
     * */
    public static void main(String[] args) {
        No64Sum s = new No64Sum();
        int n = 10;
        System.out.println("从1-10的累加和为："+s.Sum(n));
    }

    private int Sum(int n) {
        if(n==0) return 0;
        return Sum(n-1)+n;
    }
}
